package com.ruoyi.order.service;

import java.util.List;
import com.ruoyi.order.domain.MesTopOrder;

/**
 * 生产计划订单Service接口
 * 
 * @author guoxl
 * @date 2025-05-31
 */
public interface IMesTopOrderService 
{
    /**
     * 查询生产计划订单
     * 
     * @param orderId 生产计划订单主键
     * @return 生产计划订单
     */
    public MesTopOrder selectMesTopOrderByOrderId(Long orderId);

    /**
     * 查询生产计划进行中的订单
     *
     * @return 生产计划订单集合
     */
    MesTopOrder selectMesTopOrderProducting();

    /**
     * 查询生产计划订单列表
     * 
     * @param mesTopOrder 生产计划订单
     * @return 生产计划订单集合
     */
    public List<MesTopOrder> selectMesTopOrderList(MesTopOrder mesTopOrder);

    /**
     * 新增生产计划订单
     * 
     * @param mesTopOrder 生产计划订单
     * @return 结果
     */
    public int insertMesTopOrder(MesTopOrder mesTopOrder);

    /**
     * 修改生产计划订单
     * 
     * @param mesTopOrder 生产计划订单
     * @return 结果
     */
    public int updateMesTopOrder(MesTopOrder mesTopOrder);

    /**
     * 批量删除生产计划订单
     * 
     * @param orderIds 需要删除的生产计划订单主键集合
     * @return 结果
     */
    public int deleteMesTopOrderByOrderIds(Long[] orderIds);

    /**
     * 删除生产计划订单信息
     * 
     * @param orderId 生产计划订单主键
     * @return 结果
     */
    public int deleteMesTopOrderByOrderId(Long orderId);

    /**
     * 生产订单
     * @param id
     * @return
     */
    public int testingOrderById(Long id);
    /**
     * 完成生产订单
     * @param id
     * @return
     */
    public int completeOrderById(Long id);

    /**
     * 获取生产中的订单
     * @return
     */
    public MesTopOrder getProducingOrder();
}
